﻿using Demo.Store.Application.Contracts.Store.Dto;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace Demo.Store.Application.Contracts.Store;

public interface IStoreProductAppService : IApplicationService
{
    /// <summary>
    /// 创建商品
    /// </summary>
    /// <param name="dto"></param>
    /// <returns></returns>
    Task<StoreProductDto> CreateAsync(StoreProductCreateDto dto);
    
    /// <summary>
    /// 删除商品
    /// </summary>
    /// <param name="id">商品编号</param>
    /// <returns></returns>
    Task<bool> DeleteAsync(Guid id);

    /// <summary>
    /// 分页获取商品列表
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    Task<PagedResultDto<StoreProductDto>> GetListAsync(PagedAndSortedResultRequestDto request);
}